package com.tigger.core.redis.lock.annotation;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * 分布式锁注解类 用于注解产生并发问题的方法
 *
 * @author root
 */
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface CacheLock {

    // redis 分布式锁key的前缀
    String lockedPrefix() default "";

    // 轮询锁的时间 2000ms
    long timeOut() default 2000;

    // key在redis里存在的时间 1000ms
    int expireTime() default 1000;
}
